package main

import (
	"fmt"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

type UserInfo struct {
	Id     uint
	Name   string
	Gender string
	Hobby  string
}

func main() {
	//连接MYSQL数据库
	dsn := "root:flm@(127.0.0.1:3306)/db1?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic(err)
	}

	//创建表 自动迁移 (把结构体和数据表进行对应
	// 迁移 schema
	db.AutoMigrate(&UserInfo{})

	//创建数据行
	// u1 := UserInfo{1, "芙蕾米", "女", "学习"}
	// db.Create(&u1)

	//查询
	var u UserInfo
	db.First(&u) //查询表中第一条数据保存到u中
	fmt.Printf("u:%#v\n", u)

	//更新
	db.Model(&u).Update("hobby", "睡觉")

	//删除
	db.Delete(&u)
}

//show databases
// CREATE DATABASE db1
// use db1
// show tables;
// desc user_infos
// select * from user_infos;
